<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<meta http-equiv="Content-type" content="text/html; charset=UTF-8">
<title>youtube-dl: Documentation</title>
<link rel="stylesheet" href="documentation2011-05-26_1225_files/style.css" type="text/css">
</head>
<body>

<table class="heading"><tbody><tr>
	<td class="title"><a href="http://rg3.github.com/youtube-dl/index.html">youtube-dl</a></td>
	<td class="subtitle">Documentation</td>
</tr></tbody></table>

<div class="toc">
<h1>Index</h1>

<p>
<a href="#d1">Getting started</a><br>
<a href="#d2">More usage tips</a><br>
<a href="#d3">Frequently Asked Questions</a><br>
<a href="#d4">Supported sites</a><br>
<a href="#d5">Proxy support</a><br>
<a href="#d6">YouTube formats</a><br>
<a href="#d7">Output template</a><br>
</p>
</div>

<h1 id="d1">Getting started</h1>

<p>In Windows, once you have installed the Python interpreter, save the program with the <em>.py</em> extension and put it somewhere in the PATH. Try to follow the <a href="http://rg3.github.com/youtube-dl/windows.html">guide to install youtube-dl under Windows</a>.</p>

<p>In Unix, download it, give it execution permission and copy it to one of the PATH directories (typically, <em>/usr/local/bin</em>).</p>

<p>After that, you should be able to call it from the command line as <em>youtube-dl</em> or <em>youtube-dl.py</em>. I will use <em>youtube-dl</em> in the following examples. Usage instructions are easy. Use <em>youtube-dl</em> followed by a video URL or identifier. Example: <em>youtube-dl "http://www.youtube.com/watch?v=foobar"</em>. The video will be saved to the file <em>foobar.flv</em> in that example. As YouTube.com videos are usually in Flash Video format, their extension should be <em>flv</em>. In Linux and other unices, video players using a recent version of <em>ffmpeg</em>
 can play them. That includes VLC, MPlayer, etc. Those two work under 
Windows and other platforms, but you could also get a specific FLV 
player of your taste.</p>

<p>If you try to run the program and you receive an error message containing the keyword <em>SyntaxError</em> near the end, it means your Python interpreter is too old or from the 3.x branch.</p>

<h1 id="d2">More usage tips</h1>

<p>The program is usually invoked as <em>youtube-dl</em> followed by options and the video URLs. Listing all the options here would make this text too long, so you can run <em>youtube-dl --help</em>
 and get a summary of them. From that point on you can start 
experimenting with the different options yourself. The most common ones 
are -t (or -l) to include the video title in the file name. Also, the -o
 option can specify the output file name and path. It allows special 
character sequences that can be used as templates to be replaced. See 
the "Output template" section for more details.</p>

<p>Some YouTube videos are served using Adobe's proprietary RTMP 
protocol, which imposes DRM restrictions and encrypts the connection. <em>youtube-dl</em> is not able to download these videos by itself. However, it will attempt to use the <a href="http://rtmpdump.mplayerhq.hu/">rtmpdump</a> program, if it's installed in your system, to download these videos.</p>

<h1 id="d3">Frequently Asked Questions</h1>

<p>The <a href="http://rg3.github.com/youtube-dl/faq.html">Frequently Asked Questions</a> page contains answers to some common questions that pop up in my e-mail and in the <a href="https://github.com/rg3/youtube-dl/issues">issue tracker</a>. Be sure to check it before reporting problems.</p>

<h1 id="d4">Supported sites</h1>

<ul>
<li>YouTube.com.</li>
<li>YouTube.com playlists (playlist URLs in "view_play_list" form).</li>
<li>YouTube.com searches, using the special keyword "ytsearch" as a form
 of URL, as in "ytsearch:cute kittens". Do not forget the quotes if you 
want to include spaces in your search. Other variants are "ytsearchN" to
 download more than the first result, with N being a number, and 
"ytsearchall".</li>
<li>YouTube.com user videos, using user page URLs or the specifc "ytuser" keyword.</li>
<li>metacafe.com.</li>
<li>Google Video.</li>
<li>Google Video searches ("gvsearch" keyword).</li>
<li>Photobucket videos.</li>
<li>Yahoo! video.</li>
<li>Yahoo! video searches ("ybsearch" keyword).</li>
<li>Dailymotion.</li>
<li>DepositFiles.</li>
<li>A generic downloader that works in some sites.</li>
</ul>

<h1 id="d5">Proxy support</h1>

<p>youtube-dl supports downloading videos through a proxy, by setting the <em>http_proxy</em> environment variable to the proxy URL, as in <tt>http://proxy_machine_name:port/</tt>.</p>

<h1 id="d6">YouTube formats</h1>

<p>Using the -f option and other related options, you can specify the 
video format to be downloaded from YouTube. Instead of keeping a video 
format table here, I will refer you to the <a href="http://en.wikipedia.org/wiki/YouTube#Quality_and_codecs">list of YouTube formats on Wikipedia</a>.</p>

<h1 id="d7">Output template</h1>

<p>The -o option allows users to indicate a template for the output file
 names. The basic usage is not to set any template arguments when 
downloading a single file, like in <em>youtube-dl -o funny_video.flv "http://some/video"</em>.
 However, it may contain special sequences that will be replaced when 
downloading each video. The special sequences have the format <strong>%(NAME)s</strong>. To clarify, that's a percent symbol followed by a name in parenthesis, followed by a lowercase S. Allowed names are:</p>

<ul>
<li><em>id</em>: The sequence will be replaced by the video identifier.</li>
<li><em>url</em>: The sequence will be replaced by the video URL.</li>
<li><em>uploader</em>: The sequence will be replaced by the nickname of the person who uploaded the video.</li>
<li><em>upload_date</em>: The sequence will be replaced by the upload date in YYYYMMDD format.</li>
<li><em>title</em>: The sequence will be replaced by the literal video title.</li>
<li><em>stitle</em>: The sequence will be replaced by a simplified video title, restricted to alphanumeric characters and dashes.</li>
<li><em>ext</em>: The sequence will be replaced by the appropriate extension (like <em>flv</em> or <em>mp4</em>).</li>
<li><em>epoch</em>: The sequence will be replaced by the Unix epoch when creating the file.</li>
<li><em>autonumber</em>: The sequence will be replaced by a five-digit number that will be increased with each download, starting at zero.</li>
</ul>

<p>As you may have guessed, the default template is <em>%(id)s.%(ext)s</em>. When some command line options are used, it's replaced by other templates like <em>%(title)s-%(id)s.%(ext)s</em>. You can specify your own.</p>

<div class="note">Copyright © 2006-2011 Ricardo Garcia Gonzalez</div>


</body></html>